<!DOCTYPE html>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<div id="target" style="width: 200px; height: 100px; display: inline-block"></div>
<script src="resources/parsing-test-helper.js"></script>
<script>
expect = expect.bind(this, 'perspective-origin', 'perspectiveOrigin');

expect('initial').parsesAs('initial').isComputedTo('100px 50px');
expect('inherit').parsesAs('inherit');

expect('left').parsesAs('left center').isComputedTo('0px 50px');
expect('center').parsesAs('center center').isComputedTo('100px 50px');
expect('right').parsesAs('right center').isComputedTo('200px 50px');
expect('top').parsesAs('center top');
expect('bottom').parsesAs('center bottom');
expect('0').parsesAs('0px center');
expect('10%').parsesAs('10% center').isComputedTo('20px 50px');
expect('10px').parsesAs('10px center').isComputedTo('10px 50px');

expect('left top').parsesAs('left top');
expect('right bottom').parsesAs('right bottom');
expect('center center').parsesAs('center center').isComputedTo('100px 50px');
expect('center top').parsesAs('center top');
expect('center left').parsesAs('left center');
expect('center 10%').parsesAs('center 10%').isComputedTo('100px 10px');
expect('top right').parsesAs('right top');
expect('left 10%').parsesAs('left 10%');
expect('left 10px').parsesAs('left 10px');
expect('10% top').parsesAs('10% top');
expect('10px top').parsesAs('10px top');
expect('10px 20%').parsesAs('10px 20%');
expect('0 0').parsesAs('0px 0px');
expect('0px 10%').parsesAs('0px 10%').isComputedTo('0px 10px');
expect('0px 20px').parsesAs('0px 20px').isComputedTo('0px 20px');
expect('0px top').parsesAs('0px top').isComputedTo('0px 0px');
expect('0px bottom').parsesAs('0px bottom').isComputedTo('0px 100px');
expect('0px center').parsesAs('0px center').isComputedTo('0px 50px');

expect('left 10% center').isInvalid();
expect('center right 20%').isInvalid();
expect('left bottom 30px').isInvalid();
expect('top right 30px').isInvalid();

expect('left 30px bottom 20px').parsesAs('left 30px bottom 20px');
expect('top 10px left 20px').parsesAs('left 20px top 10px');
expect('top 40px right 15%').parsesAs('right 15% top 40px');
expect('top center').parsesAs('center top');

expect('left right').isInvalid();
expect('top bottom').isInvalid();
expect('none').isInvalid();
expect('20').isInvalid();
expect('10% 20% 30%').isInvalid();
expect('top 10%').isInvalid();
expect('bottom 10%').isInvalid();
expect('50% 50% 0px').isInvalid();

expect('left center top').isInvalid();
expect('left center 10%').isInvalid();
expect('left top center').isInvalid();
expect('left 10% right').isInvalid();
expect('left 10% 20%').isInvalid();
expect('center center left').isInvalid();
expect('center center 10%').isInvalid();
expect('10% left').isInvalid();
expect('10% top 20%').isInvalid();
</script>
